 Imports System.Windows.Forms
 Public Class vaoradto
 Inherits AbstractDto 
 #Region "Các Thuộc Tính" 
 Private _ID as System.Int32
 Private _Manv as System.Int32
 Private _Thoigian as System.DateTime
 Private _Kieu as System.Int32
 Private _May as System.Int32
 Private _Ngay as System.DateTime
 Private _trangthai as System.Int32
 Private _ghichu as System.String
 #End Region 
 #Region "Khai báo các phương thức truy xuất" 
 Public Property ID() as System.Int32
 Get
 Return _ID
 End Get
 Set(ByVal value As System.Int32)
 _ID=Value
 End Set
 End Property
 Public Property Manv() as System.Int32
 Get
 Return _Manv
 End Get
 Set(ByVal value As System.Int32)
 _Manv=Value
 End Set
 End Property
 Public Property Thoigian() as System.DateTime
 Get
 Return _Thoigian
 End Get
 Set(ByVal value As System.DateTime)
 _Thoigian=Value
 End Set
 End Property
 Public Property Kieu() as System.Int32
 Get
 Return _Kieu
 End Get
 Set(ByVal value As System.Int32)
 _Kieu=Value
 End Set
 End Property
 Public Property May() as System.Int32
 Get
 Return _May
 End Get
 Set(ByVal value As System.Int32)
 _May=Value
 End Set
 End Property
 Public Property Ngay() as System.DateTime
 Get
 Return _Ngay
 End Get
 Set(ByVal value As System.DateTime)
 _Ngay=Value
 End Set
 End Property
 Public Property trangthai() as System.Int32
 Get
 Return _trangthai
 End Get
 Set(ByVal value As System.Int32)
 _trangthai=Value
 End Set
 End Property
 Public Property ghichu() as System.String
 Get
 Return _ghichu
 End Get
 Set(ByVal value As System.String)
 _ghichu=Value
 End Set
 End Property
 #End Region 
 Public Sub New()
ID = 0
Manv = 0
Thoigian = #1/1/1900#
Kieu = 0
May = 0
Ngay = #1/1/1900#
trangthai = 0
ghichu = "
 End Sub
 public Function HoTro(ByVal tencolumn As String) As String
 Select Case Ucase(Convert.ToString(tencolumn))
 Case Ucase("ID")
 if IsDBNull(ID)=true then 
 return "0"
 end if
 Return Convert.ToString(ID)
 Case Ucase("Manv")
 if IsDBNull(Manv)=true then 
 return "0"
 end if
 Return Convert.ToString(Manv)
 Case Ucase("Thoigian")
 if IsDBNull(Thoigian)=true then 
 return "#1/1/1900#"
 end if
 Return Convert.ToString(Thoigian)
 Case Ucase("Kieu")
 if IsDBNull(Kieu)=true then 
 return "0"
 end if
 Return Convert.ToString(Kieu)
 Case Ucase("May")
 if IsDBNull(May)=true then 
 return "0"
 end if
 Return Convert.ToString(May)
 Case Ucase("Ngay")
 if IsDBNull(Ngay)=true then 
 return "#1/1/1900#"
 end if
 Return Convert.ToString(Ngay)
 Case Ucase("trangthai")
 if IsDBNull(trangthai)=true then 
 return "0"
 end if
 Return Convert.ToString(trangthai)
 Case Ucase("ghichu")
 if IsDBNull(ghichu)=true then 
 return """
 end if
 Return Convert.ToString(ghichu)
 Case Else
 Return ""
 End Select
 End Function
 public function HoTro(ByVal tencolumn As String,Byval value as string,Optional ByVal TT As String = "sua") as string 
 Select Case Ucase(Convert.ToString(tencolumn))
 Case UCase("ID")
 If TT = "sua" Then
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
ID=CInt(value)
End if
 Case UCase("Manv")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
Manv=CInt(value)
 Case UCase("Thoigian")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsDate(value) = False Then
 return "Không phải ngày đề nghị nhập lại"
end if
Thoigian=Convert.ToDateTime(value)
 Case UCase("Kieu")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
Kieu=CInt(value)
 Case UCase("May")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
May=CInt(value)
 Case UCase("Ngay")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsDate(value) = False Then
 return "Không phải ngày đề nghị nhập lại"
end if
Ngay=Convert.ToDateTime(value)
 Case UCase("trangthai")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
trangthai=CInt(value)
 Case UCase("ghichu")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
ghichu=Convert.ToString(value)
 Case Else
 return ""
 End Select
 return ""
 End function
 Public Sub GANgiatri(ByVal Group As Control)
 Dim ValControl As New Control
 For Each ValControl In Group.Controls
 If ValControl.Visible = True Then
 Dim str As String = Me.HoTro(UCase(Mid(ValControl.Name, 4)))
 If str <> " Then
 If TypeOf (ValControl) Is TextBox Or TypeOf (ValControl) Is Label Then
 ValControl.Text = Str
 ElseIf TypeOf (ValControl) Is NumericUpDown Then
 Dim NUD As NumericUpDown = ValControl
 NUD.Value = Str
 ElseIf TypeOf (ValControl) Is DateTimePicker Then
 Dim DTP As DateTimePicker = ValControl
 DTP.Value = Str
 ElseIf TypeOf (ValControl) Is ComboBox Then
 Dim cbo As ComboBox = ValControl
 cbo.SelectedValue = Str
 ElseIf TypeOf (ValControl) Is PictureBox Then
 Dim pic As PictureBox = ValControl
 pic.ImageLocation = Str
 End If
 End If
 If ValControl.Controls.Count > 0 Then GANgiatri(ValControl)
 End If
 Next
 End Sub
 Public Sub NHANgiatri(ByVal Group As Control, ByVal ErrorProvider1 As ErrorProvider)
 Dim ValControl As New Control
 Dim loi As String = "
 For Each ValControl In Group.Controls
 If ValControl.Visible = True Then
 If TypeOf (ValControl) Is TextBox Or TypeOf (ValControl) Is Label Then
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), ValControl.Text)
 ElseIf TypeOf (ValControl) Is ComboBox Then
 Dim cbo As ComboBox = ValControl
 loi = Me.HoTro(UCase(Mid(cbo.Name, 4)), cbo.SelectedValue)
 ElseIf TypeOf (ValControl) Is NumericUpDown Then
 Dim NUD As NumericUpDown = ValControl
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), NUD.Value)
 ElseIf TypeOf (ValControl) Is DateTimePicker Then
 Dim dtp As DateTimePicker = ValControl
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), dtp.Value)
 ElseIf TypeOf (ValControl) Is PictureBox Then
 Dim pic As PictureBox = ValControl
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), pic.ImageLocation)
 End If
 If loi <> " Then
 ValControl.Focus()
 End If
 ErrorProvider1.SetError(ValControl, loi)
 If ValControl.Controls.Count > 0 Then NHANgiatri(ValControl, ErrorProvider1)
 End If
 Next
 End Sub
 End class
